Multiplexing is often used, for example, in the transmission of a plurality of channels in digital television. A multiplexing system can combine several input channels (or data streams) to form a single output data stream, where the total group bitrate of the output data stream is the sum of the bitrates of the constituent parts. The input data streams may be the outputs of video or audio compression systems, in which case the sum of their bitrates varies considerably with the nature of the content being compressed.
In a fixed share system each channel is constrained to a bitrate allocation which is an appropriate share of the total output bitrate. This requires that a particular channel picture quality must be constrained when the bitrate demand for that channel exceeds the fixed share bitrate allocated to that channel. Other channels may have spare capacity due to their lower instantaneous bitrate demands, but in such fixed share systems the spare capacity is filled with stuffing bits and is not available for use by other input channels.
Statistical multiplexing helps to avoid the quality loss and inefficient use of available output capacity present in fixed share systems. Statistical multiplexing allows a group of encoders to share a fixed total common bitrate, but instead of allocating a fixed bitrate to each encoder, a bitrate controller dynamically allocates different bitrates to each encoder dependant upon the instantaneous bitrate demand of the respective input video data streams.
Thus, when the bitrate demand of some input channels is lower than the average, the excess bitrate can be reallocated by the bitrate controller to allow a higher bitrate to be used by a channel which requires a higher bitrate to maintain picture quality. Available bitrate is allocated to the channel encoders according to demand, so that the system may achieve a more uniform picture quality on the output from each encoder. Available bitrate may also be allocated according to how critical the content being encoded is; during bitrate allocation an encoder processing critical content is given priority over an encoder processing less critical content. The bitrate controller ensures that the instantaneous total group bitrate is equal to or less than the channel capacity. By sharing out the total group bitrate between the channel encoders, the picture quality of all encoders can be improved compared to the average picture quality of a fixed share system.
Embodiments of the present application seek to improve the bitrate distribution in a statistical multiplexing system.